package x.ovo.wechat.bot.common.plugin.config;

import java.util.List;

public interface ConfigurationSection {

    /**
     * 获取字符串
     *
     * @param path 路径
     * @return {@link String }
     */
    String getString(String path);

    /**
     * 获取int值
     *
     * @param path 路径
     * @return int
     */
    int getInt(String path);

    /**
     * 获取布尔值
     *
     * @param path 路径
     * @return boolean
     */
    boolean getBoolean(String path);

    /**
     * 获取double值
     * @param path 路径
     * @return double
     */
    double getDouble(String path);

    /**
     * 获取列表
     *
     * @param path 路径
     * @return {@link List }<{@link ? }>
     */
    List<?> getList(String path);

    /**
     * 获取字符串列表
     * @param path 路径
     * @return {@link List }<{@link String }>
     */
    List<String> getStringList(String path);

    /**
     * 获取配置节
     * @param path 路径
     * @return {@link ConfigurationSection }
     */
    ConfigurationSection getConfigurationSection(String path);

    /**
     * 设置值
     * @param path  路径
     * @param value 价值
     */
    void set(String path, Object value);

    /**
     * 是否包含
     * @param path 路径
     * @return boolean
     */
    boolean contains(String path);
}
